=========================================================================== BBS: The Abacus * HST/DS * Potterville MI Date: 02-26-93 (00:11) Number: 45 From: ROB MCKEE Refer#: NONE To: OWEN GIBBINS Recvd: NO Subj: DIRECTORIES 2/3 Conf: (35) Quick Basi --------------------------------------------------------------------------- Hello Owen! You wrote to All: '>>> Continued from Previous SUB findfirstfile (Path$, dta$, Result%) DIM reg AS RegTypeX thePATH$ = Path$ + CHR$(0) reg.ax = &H2F00 CALL INTERRUPTX(&H21, reg, reg) segm% = reg.es ofst% = reg.bx dta$ = SPACE$(43) reg.ax = SetDTAInt21h '&H1A00 reg.ds = VARSEG(dta$) reg.dx = SADD(dta$) CALL INTERRUPTX(&H21, reg, reg) reg.ax = &H4E00 reg.cx = 255 reg.ds = VARSEG(thePATH$) reg.dx = SADD(thePATH$) CALL INTERRUPTX(&H21, reg, reg) Result% = reg.flag AND 1 reg.ax = SetDTAInt21h '&H1A00 reg.ds = segm% reg.dx = ofst% CALL INTERRUPTX(&H21, reg, reg) END SUB SUB FindNextFile (dta$, Result%) STATIC DIM reg AS RegTypeX SHARED thePATH$ IF LEN(dta$) <> 43 THEN Result% = 2: EXIT SUB reg.ax = &H2F00 CALL INTERRUPTX(&H21, reg, reg): segm% = reg.es: ofst% = reg.bx reg.ax = SetDTAInt21h '&H1A00 reg.ds = VARSEG(dta$): reg.dx = SADD(dta$): CALL INTERRUPTX(&H21, reg, reg) reg.ax = &H4F00: reg.cx = 251: reg.ds = VARSEG(thePATH$): reg.dx = SADD(thePATH$) CALL INTERRUPTX(&H21, reg, reg) Result% = reg.flag AND 1 reg.ax = SetDTAInt21h '&H1A00 reg.ds = segm%: reg.dx = ofst% CALL INTERRUPTX(&H21, reg, reg) END SUB SUB GetDiskSize (DkSz AS DiskSizeType, UsPath$) DIM reg AS RegTypeX reg.ax = &H3600 i% = INSTR(UsPath$, ":") IF i% > 0 THEN D$ = MID$(UsPath$, i% - 1, 1) IF D$ < "A" OR D$ > "Z" THEN DkSz.Drive = false ELSE DkSz.Drive = ASC(D$) - 64 END IF ELSE DkSz.Drive = false END IF reg.dx = DkSz.Drive CALL INTERRUPTX(&H21, reg, reg) IF reg.ax < 0 THEN DkSz.SecCl = reg.ax + 65536 ELSE DkSz.SecCl = reg.ax IF reg.bx < 0 THEN DkSz.AvaCl = reg.bx + 65536 ELSE DkSz.AvaCl = reg.bx IF reg.cx < 0 THEN DkSz.SecSz = reg.cx + 65536 ELSE DkSz.SecSz = reg.cx IF reg.dx < 0 THEN DkSz.TotCl = reg.dx + 65536 ELSE DkSz.TotCl = reg.dx DkSz.CluSz = DkSz.SecCl * DkSz.SecSz DkSz.free = DkSz.AvaCl * DkSz.CluSz DkSz.Total = DkSz.TotCl * DkSz.CluSz DkSz.Used = DkSz.Total - DkSz.free END SUB SUB GetFileData (dta$, File AS FileType) STATIC File.attribute = ASC(MID$(dta$, 22, 1)) File.Size = CVL(MID$(dta$, 27, 4)) tim& = CVL(MID$(dta$, 23, 2) + STRING$(2, 0)) File.second = tim& AND &H1F File.minute = (tim& \ 32) AND &H3F File.hour = (tim& \ 2048) AND &H1F File.FTime = RIGHT$(STR$(File.hour), 2) + ":" + RIGHT$("00" +_ LTRIM$(STR$(File.minute)), 2) + ":" +_ RIGHT$("00" + LTRIM$(STR$(File.second)),2) tim& = CVL(MID$(dta$, 25, 2) + STRING$(2, 0)) File.day = tim& AND &H1F File.month = (tim& \ 32) AND &HF File.year = ((tim& \ 512) AND &H1F) + 1980 File.FDate = RIGHT$(STR$(File.month), 2) + "-" + RIGHT$("00" + _ LTRIM$(STR$(File.day)), 2) + "-" + RIGHT$("0000" +_ LTRIM$(STR$(File.year - 1900)), 2) f$ = MID$(dta$, 31) + CHR$(0) File.Fname = LEFT$(f$, INSTR(f$, CHR$(0)) - 1) END SUB '<<< Continued in Next Message SysOp 1:125/411 PVT - Rob --- timEd/B6 * Origin: Flyer_Proof_Computer_Svs,Richmond_CA,MO,V32B (1:125/411) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/2 159/100 125 430 950 203/23 209/209 280/1 SEEN-BY: 390/1 396/1 15 397/2 2230/100 3603/20